package com.zzyy.study;

import jakarta.annotation.Resource;
import org.junit.jupiter.api.Test;
import org.springframework.boot.test.context.SpringBootTest;
import org.springframework.data.redis.core.RedisCallback;
import org.springframework.data.redis.core.RedisTemplate;
import org.springframework.data.redis.core.StringRedisTemplate;

/**
 * @auther zzyy
 * @create 2024-03-17 15:23
 */
@SpringBootTest
public class T1
{
    @Resource
    private RedisTemplate redisTemplate;

    /**在同一条连接中进行多次操作
     *
     * RedisCallback接口 用于在Redis操作中执行RedisConnection（Redis连接）的回调。
     * 在执行RedisCallback回调时，RedisTemplate会获取一个新的Redis连接，执行完回调后，
     * RedisTemplate会自动关闭Redis连接。 这种方式适合于短期操作
     */
    @Test
    void redisCallbackTest() {
        redisTemplate.execute((RedisCallback) connection -> {
            connection.set("rkey1".getBytes(), "rv1".getBytes());
            connection.set("rkey2".getBytes(), "rv2".getBytes());
            return null;
        });

    }
}
